---
id: other
title: 其它 常见优化方法  
---

```js
if(conected){
    login();
}
//上述可以简写为
conected &&  login();

```
- 避免元素类型转换
## 性能优化原则

多使用内存、缓存或其他方法  
减少 CPU 计算量，减少网络加载耗时  
适用于所有编程的性能优化- 空间换时间  

从何入手

- 让加载更快
减少资源体积：压缩代码
减少访问次数：合并代码，SSR 服务器端渲染 ，缓存
使用更快的网络：CDN
- 让渲染更快
CSS 放在head ，JS放在body 最下面  
尽早开始执行 JS，用 DOMContentloaded 触发  
懒加载（图片懒加载，上滑加载更多）  
- 对 DOM 查询进行缓存  
频繁 DOM 操作，合并到一起插入 DOM 结构  
节流 throttle 防抖 debounce


## 避免意外的全局变量产生
```js 
function fn(params) {
    a = 'test';
    this.b = 'b';
}
fn();
// widown.a | window.b
```


## 避免反复运行引发大量闭包

```js 
var store;
function outer(){
    var largeData = new Array(100000000);
    var prevStore = store;
    function inner(){
        if (prevStore) return largeData;
    }
    return function(){

    }
}

setInterval(() => {
    store = outer();
}, 20);

```

## 避免反复运行引发大量闭包